home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Estrategia / tactics_core.swf / scripts / DefineButton2_701 / BUTTONCONDACTION on(release).as next >
Encoding:
Text File  |  2007-03-20  |  4.7 KB  |  179 lines

  1. on(release){
  2.    var facedirection;
  3.    if(Math.abs(row - _parent.crow) < Math.abs(col - _parent.ccol))
  4.    {
  5.       if(col > _parent.ccol)
  6.       {
  7.          facedirection = 1;
  8.       }
  9.       else
  10.       {
  11.          facedirection = 3;
  12.       }
  13.    }
  14.    else if(row > _parent.crow)
  15.    {
  16.       facedirection = 2;
  17.    }
  18.    else
  19.    {
  20.       facedirection = 4;
  21.    }
  22.    if(_parent.attacktype == "normal")
  23.    {
  24.       if(_parent.spread <= 0)
  25.       {
  26.          _parent._parent._parent.doattack(facedirection,row,col);
  27.       }
  28.       else
  29.       {
  30.          var area = new Array();
  31.          var coords = new Object();
  32.          coords.row = row;
  33.          coords.col = col;
  34.          area.push(coords);
  35.          var i = 1;
  36.          while(i <= _parent.spread)
  37.          {
  38.             var temprow;
  39.             var tempcol;
  40.             temprow = _parent.spread;
  41.             tempcol = _parent.spread + i;
  42.             while(tempcol > _parent.spread)
  43.             {
  44.                if(bbuffer[temprow][tempcol] != null)
  45.                {
  46.                   var coords = new Object();
  47.                   coords.row = temprow + row - _parent.spread;
  48.                   coords.col = tempcol + col - _parent.spread;
  49.                   area.push(coords);
  50.                }
  51.                temprow++;
  52.                tempcol--;
  53.             }
  54.             temprow = _parent.spread + i;
  55.             tempcol = _parent.spread;
  56.             while(temprow > _parent.spread)
  57.             {
  58.                if(bbuffer[temprow][tempcol] != null)
  59.                {
  60.                   var coords = new Object();
  61.                   coords.row = temprow + row - _parent.spread;
  62.                   coords.col = tempcol + col - _parent.spread;
  63.                   area.push(coords);
  64.                }
  65.                temprow--;
  66.                tempcol--;
  67.             }
  68.             temprow = _parent.spread;
  69.             tempcol = _parent.spread - i;
  70.             while(tempcol < _parent.spread)
  71.             {
  72.                if(bbuffer[temprow][tempcol] != null)
  73.                {
  74.                   var coords = new Object();
  75.                   coords.row = temprow + row - _parent.spread;
  76.                   coords.col = tempcol + col - _parent.spread;
  77.                   area.push(coords);
  78.                }
  79.                temprow--;
  80.                tempcol++;
  81.             }
  82.             temprow = _parent.spread - i;
  83.             tempcol = _parent.spread;
  84.             while(temprow < _parent.spread)
  85.             {
  86.                if(bbuffer[temprow][tempcol] != null)
  87.                {
  88.                   var coords = new Object();
  89.                   coords.row = temprow + row - _parent.spread;
  90.                   coords.col = tempcol + col - _parent.spread;
  91.                   area.push(coords);
  92.                }
  93.                temprow++;
  94.                tempcol++;
  95.             }
  96.             i++;
  97.          }
  98.          _parent._parent._parent.doattack(facedirection,null,null,area);
  99.       }
  100.    }
  101.    else if(_parent.attacktype == "line")
  102.    {
  103.       var temprow = _parent.crow;
  104.       var tempcol = _parent.ccol;
  105.       var area = new Array();
  106.       var i = 0;
  107.       while(i < _parent.range)
  108.       {
  109.          if(col > _parent.ccol)
  110.          {
  111.             tempcol++;
  112.          }
  113.          else if(row > _parent.crow)
  114.          {
  115.             temprow++;
  116.          }
  117.          else if(col < _parent.ccol)
  118.          {
  119.             tempcol--;
  120.          }
  121.          else if(row < _parent.crow)
  122.          {
  123.             temprow--;
  124.          }
  125.          if(bbuffer[i] != null)
  126.          {
  127.             var coords = new Object();
  128.             coords.row = temprow;
  129.             coords.col = tempcol;
  130.             area.push(coords);
  131.          }
  132.          i++;
  133.       }
  134.       _parent._parent._parent.doattack(facedirection,null,null,area);
  135.    }
  136.    else if(_parent.attacktype == "projectile")
  137.    {
  138.       var temprow = _parent.crow;
  139.       var tempcol = _parent.ccol;
  140.       if(col > _parent.ccol)
  141.       {
  142.          tempcol += _parent.range;
  143.       }
  144.       else if(row > _parent.crow)
  145.       {
  146.          temprow += _parent.range;
  147.       }
  148.       else if(col < _parent.ccol)
  149.       {
  150.          tempcol -= _parent.range;
  151.       }
  152.       else if(row < _parent.crow)
  153.       {
  154.          temprow -= _parent.range;
  155.       }
  156.       var i = _parent.range;
  157.       while(bbuffer[--i] == null)
  158.       {
  159.          if(col > _parent.ccol)
  160.          {
  161.             tempcol--;
  162.          }
  163.          else if(row > _parent.crow)
  164.          {
  165.             temprow--;
  166.          }
  167.          else if(col < _parent.ccol)
  168.          {
  169.             tempcol++;
  170.          }
  171.          else if(row < _parent.crow)
  172.          {
  173.             temprow++;
  174.          }
  175.       }
  176.       _parent._parent._parent.doattack(facedirection,temprow,tempcol);
  177.    }
  178. }
  179.